/* game.h
 *
 *  Created on: 15 nov. 2010
 *      Author: Nicolas Aucouturier, Laurent Reveillere
 */

#ifndef GAME_H_
#define GAME_H_

#include "../include/constant.h"
#include "../include/misc.h"

#include "../include/map.h"
#include "../include/player.h"
#include "../include/level.h"




typedef struct s_game * t_game;

extern void decrease_numb_set_bomb(t_game game);
extern void game_set_validity(t_game game,int x);
extern int game_get_validity(t_game game);





extern void increase_game_destructionn(t_game game);
extern void increase_game_destructions(t_game game);
extern void increase_game_destructiono(t_game game);
extern void increase_game_destructione(t_game game);

extern void change_coorn(t_game game,int x,int y);
extern void change_coors(t_game game,int x,int y);
extern void change_coore(t_game game,int x,int y);
extern void change_cooro(t_game game,int x,int y);
extern void change_coormb(t_game game,int x,int y);


extern void game_get_new_level(t_game game);

// Create a new game
extern t_game game_new(int num_level,int num_life,int init_player_x,int init_player_y,int num_map,int first_time);

//
extern void game_free(t_game game);

// Return the player of the current game
extern t_player game_get_player(t_game game);


// Return the current level
extern t_level game_get_curr_level(t_game game);

// Display the game of the screen
extern void game_display(t_game game, SDL_Surface *screen);


// update
extern int game_update(t_game game);

#endif /* GAME_H_ */

